package org.springblade.modules.ad.service;

import org.springblade.modules.ad.entity.AdGroup;
import org.springblade.modules.ad.entity.AdOU;
import org.springblade.modules.ad.entity.AdUser;
import org.springblade.modules.ad.utils.Result;

import java.util.LinkedList;
import java.util.List;

/**
 * 域组
 * @ClassName AdGroupService.java
 * @version 1.0.0
 * @author zhangyunjiao
 * @createTime 2021/8/31
 */
public interface AdGroupService {

	/**
	 * 域组添加
	 * @param: [group]
	 * @return: boolean
	 * @author: zhangyunjiao
	 * @date: 2021/8/31
	 */
	boolean addAdGroup(AdOU group);

	/**
	 * 用户添加到域组
	 * @param: [basePath, username]
	 * @return: void
	 * @author: zhangyunjiao
	 * @date: 2021/8/31
	 */
	void addUserToGroup(AdGroup adGroup);

	/**
	 * 批量添加到域组
	 * @param:
	 * @return:
	 * @author: zhangyunjiao
	 * @date: 2021/8/31
	 */
	Result addUserToGroup(List<AdGroup> list);

	/**
	 * 用户域组移除
	 * @param: [basePath, username]
	 * @return: void
	 * @author: zhangyunjiao
	 * @date: 2021/8/31
	 */
	void removeUserToGroup(LinkedList<String> basePath, String username);

}
